{{tag>Karmic Lucid cao mécanique}}
----

====== HeeksCAD ======

{{applications:heekscad_lucid_01.png?700}}

**HeeksCAD** est un logiciel de [[:CAO]] sous licence [[wpfr>Licence_BSD|BSD]] permettant la modélisation de pièces en 3D. Il est orienté vers le génie mécanique et la fabrication. Il possède une architecture modulaire permettant de lui ajouter des greffons tels [[http://code.google.com/p/heekscnc/|HeeksCNC]], [[http://code.google.com/p/heeksart/|HeeksArt]] et [[http://code.google.com/p/heekspython/|HeeksPython]]. Il vise à offrir éventuellement des fonctionnalités semblables à des logiciels propriétaires tels que CATIA, SolidWorks, Pro|Engineer, Autodesk Inventor ou Solid Edge.

Certaines de ses particularités:

   * la modélisation de solides est basée sur [[:OpenCascade]], et permet la création de solides par formes primitives ou par extrusion, révolution ou lissage à partir d'esquisses, les opérations booléennes, les chanfreins et les congés;
   * il exporte aux formats standards STEP, IGES, STL et DXF, et permet l'importation du DXF.
   * un solveur de contraintes géométriques permet de créer des dessins précis à partir d'esquisses rapides.

À noter que ce logiciel **est toujours en développement**, il ne doit donc pas être vu comme une solution à utiliser en contexte professionnel. Cependant, il s'agit d'un logiciel intéressant à tester, ou peut-être même suffira-t-il pour un usage personnel.

===== Pré-requis =====

  * Disposer des [[:sudo|droits d'administration]].
  * Disposer d'une connexion à Internet configurée et activée.
  * Disposer d'au moins 500 Mio d'espace disque, dont environ 300 Mio dans le Dossier personnel.

===== Installation manuelle =====

Il n'y a pas de paquet d'installation disponible. Il faut donc [[:tutoriel/compilation|compiler les sources]] depuis le site du projet. Si la procédure peut sembler intimidante, elle est relativement simple à accomplir si le [[:terminal]] ne vous fait pas peur.

==== Installer les dépendances ====

Il faut d'abord installer les bibliothèques nécessaires à la compilation, ainsi que les bibliothèques utilisées par le logiciel (notamment OpenCASCADE et wxWidgets). 

Dans un [[:terminal]], copiez-collez la ligne suivante:

  sudo apt-get install -y subversion libwxbase2.8-dev g++ build-essential libopencascade-dev libwxgtk2.8-dev libgtkglext1-dev python-dev cmake libboost-python-dev

Cette commande exige la saisie de votre mot de passe. L'installation pourrait prendre plusieurs minutes.

<note tip>L'option **-y** dans la commande ci-haut permet de répondre oui par avance aux demandes de confirmations.</note> 

==== Télécharger les sources ===

La commande suivante télécharge les sources du logiciel dans un dossier **HeeksCAD** sous votre Dossier personnel:

  cd ~
  svn checkout http://heekscad.googlecode.com/svn/trunk/ HeeksCAD

==== Compilation ====

Il faut maintenant changer de répertoire, puis exécuter la compilation et créer les liens dans les dossiers système:

  cd ~/HeeksCAD/src
  make clean
  make
  sudo make install

==== Configuration ====

Le logiciel est maintenant installé; toutefois, en raison d'une mauvaise configuration des sources, des liens vers l'exécutable et le raccourci-lanceur doivent être créés:

  sudo ln -s /usr/local/bin/HeeksCAD /usr/bin/HeeksCAD
  sudo ln -s /usr/local/share/heekscad/ /usr/share/heekscad

===== Installation par script automatisé =====

On peut reprendre les commandes précédentes et en faire un [[:script]] automatisé.

Copier-coller dans un [[:editeur_de_texte|éditeur de texte]] le texte suivant:

<code bash>#!/bin/sh
# heekscad-install.sh -- Downloads, builds and installs HeeksCAD from svn

BUILDPATH=~             # Location of HeeksCAD build dir
INSTALLPATH=/usr/local  # Location to install HeeksCAD
BUILDPREREQS="subversion libwxbase2.8-dev \
  build-essential libopencascade-dev libwxgtk2.8-dev \
  libgtkglext1-dev python-dev cmake libboost-python-dev"

# Install build prerequisites
sudo apt-get install -y $BUILDPREREQS

cd $BUILDPATH
if [ -d HeeksCAD ]; then
  cd HeeksCAD
  svn update
else
  svn checkout http://heekscad.googlecode.com/svn/trunk/ HeeksCAD
fi
cd ${BUILDPATH}/HeeksCAD/src
make
sudo make install

# Make menu entry find the binary
sudo ln -s ${INSTALLPATH}/bin/HeeksCAD /usr/bin/HeeksCAD
# Make HeeksCAD find the program icons
sudo ln -s ${INSTALLPATH}/share/heekscad/ /usr/share/heekscad</code>

Enregistrez-le dans votre Dossier personnel, puis lancez-le:

=== Lancer le script en terminal ===

Ouvrez un [[:terminal]] et saisissez la commande suivante :

  sh nom_du_script

<note tip>N'utilisez pas sudo, puisqu'alors le dossier HeeksCAD créé dans le Dossier personnel aura «root» comme propriétaire et groupe. </note>

=== Lancer le script par méthode graphique ===

  * Faites un clic droit sur le script, puis sélectionnez //Propriétés//; sous l'onglet //Permissions//, cochez //Autoriser l'exécution du fichier comme un programme//. Fermez la fenêtre.
  * Faites un double-clic sur le script, puis dans la fenêtre, cliquez sur //Lancer dans un terminal//.

<note tip>Soyez patient, le processus peut prendre plusieurs minutes (environ 15 minutes sur un PC avec processeur à double cœur).</note>

===== Utilisation=====

Lancez l'application depuis le menu //Applications -> Graphisme -> HeeksCAD// ou //via// la [[:commande_shell|commande]] suivante :

  HeeksCAD

<note tip>Portez attention à la casse, sinon la commande ne sera pas reconnue!</note>

=== Astuces ===

  * On peut créer des **formes primitives** (cube, cylindre, cône et sphère) par le menu //Objet 3D// ou la barre d'outils du même nom. Une fois créé, le solide peut être modifié (déplacement, redimensionnement, étirement, rotation) dans la fenêtre graphique à l'aide de la souris en sélectionnant les //icônes d'arrimage//((Quelqu'un a un meilleur terme?)). Les dimensions peuvent aussi être saisies au clavier dans la fenêtre //Propriétés// du panneau latéral.
{{ applications:heekscad_lucid_04.png }}
  * Pour réaliser une **extrusion**, il faut d'abord créer une esquisse avec les outils de géométrie. Il faut ensuite terminer l'esquisse, puis la sélectionner avant d'activer la fonction //Extruder une esquisse//. À noter que celle-ci n'est possible que dans l'axe Z du système de coordonnées. Il est possible de créer un nouveau système de coordonnées dont l'orientation de l'axe Z. On saisis une valeur de hauteur et on termine la fonction en cliquant sur le bouton //Accepter valeur et continuer// dans la fenêtre //Saisir// du panneau latéral.
  * La **révolution** se fait par la même méthode que l'extrusion. L'axe de rotation se trouve sur l'axe Z. Le profil n'a pas besoin de toucher à l'axe de rotation.
{{ applications:heekscad_lucid_06.png?248 }}
  * Le **lissage** n'est pas contraint par l'axe Z. Il nécessite 2 esquisses. Les deux esquisses doivent avoir le même nombre d'éléments, mais n'ont pas besoin d'être sur des plans parallèles. Par exemple, le lissage d'un rectangle à un losange est accepté, mais pas celui d'un rectangle à un cercle.
{{ applications:heekscad_lucid_05.png?248 }}

===== Greffons =====
  * **(en) [[http://code.google.com/p/heekscnc/|HeeksCNC]]**, qui permet de créer des parcours d'outil et de générer un code de programmation lisible par les [[wpfr>Machine-outil_%C3%A0_commande_num%C3%A9rique|machines-outil à commande numérique]]
  * **(en) [[http://code.google.com/p/heeksart/|HeeksArt]]**, pour la création de surfaces complexes de type [[wpfr>Mesh_(Objet)|Mesh]] au moyen de courbes de Bézier
  * **(en) [[http://code.google.com/p/heekspython/|HeeksPython]]** ajoute une console en langage Python

===== Problèmes connus =====

==== Interface en français ====

Le logiciel s'installe par défaut en anglais. Il faut ici [[:compilation|compiler]] le fichier de traduction fourni. Cependant, en raison d'un oubli des développeurs, le fichier de compilation ne contient pas l'instruction nécessaire à l'installation du français. Il faut donc le modifier au préalable.
<note important>N'oubliez pas de fermer HeeksCAD avant de faire cette manipulation!</note>
Ouvrez dans un [[:editeur_de_texte|éditeur de texte]] le fichier **Makefile** qui se trouve dans /HeeksCAD/translations. Vous pouvez le faire en méthode graphique par votre [[:gestionnaire de fichiers]], ou par le [[:terminal]]:

  gedit ~/HeeksCAD/translations/Makefile

Ensuite, effacez son contenu pour le remplacer par le texte suivant:
<code make>
PREFIX=/usr/local
DATADIR=$(PREFIX)/share
LOCALEDIR=$(DATADIR)/locale
mkdir_p= mkdir -p
MSGFMT=msgfmt

OBJECTS=fr/HeeksCAD.mo
all: ${OBJECTS}

fr/HeeksCAD.mo: fr/HeeksCAD.po
	$(MSGFMT) -o $@ $?

clean:
	-rm ${OBJECTS}

install:
	$(mkdir_p) "$(DESTDIR)$(LOCALEDIR)/fr/LC_MESSAGES"
	cp fr/HeeksCAD.mo "$(DESTDIR)$(LOCALEDIR)/fr/LC_MESSAGES/"

uninstall:
	-rm "$(DESTDIR)$(LOCALEDIR)/*/LC_MESSAGES/HeeksCAD.mo"
</code>

Sauvegardez le document, puis fermez-le.

Ensuite, il reste à l'exécuter à l'aide de la commande make dans le terminal:
  cd ~/HeeksCAD/translations
  make clean
  make
  sudo make install

Voilà, au prochain lancement de l'application, l'interface de HeeksCAD sera en français.

==== Boutons manquants sous Ubuntu 10.04 et thème Ambiance ====

Sous Ubuntu 10.04 avec le thème par défaut Ambiance (et possiblement d'autres thèmes), la dernière icône de chacune des barre d'outils n'est pas affichée:

{{applications:heekscad_lucid_02.png?650}}

On peut régler le problème de la façon suivante:
  * Aller dans le menu //Fenêtres -> Barre d'outils à gauche//; ceci a pour effet d'aligner toutes les barres d'outils à la gauche de la fenêtre, et de les afficher correctement; 
{{applications:heekscad_lucid_03.png?375}}
  * Replacer les barres d'outils vers le haut de la fenêtre à l'aide de la souris.

//(Source: [[http://code.google.com/p/heekscad/issues/detail?id=270|Issue 270]])//

==== Fonctions inopérantes ====

Il est possible que certaines fonctions soient inopérantes (outil extrusion, importation STEP, sauvegarde) après l'installation à l'aide du script automatisé. Dans ce cas, essayez de réinstaller manuellement en suivant les étapes [[heekscad#Télécharger les sources]] et [[heekscad#Compilation]]. Il n'est pas nécessaire de répéter l'étape de configuration.

===== Mise à jour =====

Le logiciel HeeksCAD est en développement constant. L'équipe de développeurs en modifient le code presque à chaque semaine, pour corriger des bogues ou ajouter des fonctionnalités. Il peut donc être intéressant de mettre à jour le logiciel.

Cette mise à jour se fait simplement en répétant les étapes de l'installation manuelle, [[heekscad#Télécharger les sources]] et [[heekscad#Compilation]].

===== Désinstallation =====

Pour supprimer cette application, Il suffit de supprimer le dossier **HeeksCAD** qui se trouve dans le Dossier personnel.

On peut également [[:tutoriel/comment_supprimer_un_paquet|supprimer les bibliothèques]] qui ne sont plus utiles. Dans un [[:terminal]]:

  sudo apt-get remove subversion libwxbase2.8-dev build-essential libopencascade-dev libwxgtk2.8-dev libgtkglext1-dev python-dev cmake libboost-python-dev

FIXME //(pour désinstallation nette, autres fichiers à supprimer?)//

===== Voir aussi =====

  * **(en)** [[http://code.google.com/p/heekscad/|Site officiel du projet]]
  * **(en)** [[http://groups.google.com/group/heekscad-users|Groupe de discussion des utilisateurs de HeeksCAD]]
  * **(fr)** [[http://www.linuxgraphic.org/forums/viewforum.php?f=41|Didacticiels et forum sur LinuxGrapic.org]]
  * [[:FreeCAD]], //un logiciel similaire//
  * //Basé sur [[http://code.google.com/p/heekscad/wiki/UbuntuInstallation|« How to build and install HeeksCAD »]] du site officiel.//


----
//Contributeur principal : [[:utilisateurs:Gemnoc]].//

